#include <iostream>

int main(){
  using namespace std;

  /* 
    显示类型转换
      - 尽量避免意外的类型收窄
      - 使用关键字：static_cast<type>(value) 
      - 发生在编译时
      - 尽量避免使用
      - 类型转换不会影响原来的值

    C风格的类型转换
      - 语法：(type)value
      - 不会类型检查，不建议使用

  */

  int a = 10.5; // 类型的收窄 缩窄
  int b {static_cast<int>(33.5)};
  double c = 33.5;
  double d = 44.9;
  int e {static_cast<int>(c) + static_cast<int>(d)};
  int f {static_cast<int>(c + d)};
  int g { (int)c }; // c风格，更不要使用

  // cout << e << endl;
  cout << g << endl;

}